Apparatus and a method for facilitating searching

ABSTRACT

A receiver ( 2   b ) receives from a search engine ( 3 ) search results consisting of at least one search item associated with at least one context item relating to the search item;  
     a modifier ( 2   b ) modifies the search results by associating at least one context item with data for enabling the user to cause the search results to be filtered in accordance with that context item by selecting that context item; and  
     a supplier ( 2   b ) supplies the modified search results to the user.

[0001] This invention relates to apparatus and a method for facilitatingsearching, in particular to apparatus and a method for providing aninterface that enables a user to refine the results of a search.

[0002] Most information retrieval systems such as web-based searchengines that enable retrieval over the Internet are quite good atfinding information but poor at presenting the results to the user.Typically, the results are presented as a simple list of documents ordocument headers with hyperlink connections to the URLs at which theactual documents can be found. Sometimes, the results lists will alsoinclude a relevance score for each document and the documents may beordered by their relevance scores. A few web-based search enginesattempt to improve on this by, for example, grouping pages from the samesite together. It is, however, difficult for users to make effective useof such a list of documents because the list does not show how thedocuments are related to one another or to the original search query.Our co-pending EP-A-1033662 (corresponding to U.S. application Ser. No.09/511,447) describes a natural language search method and apparatusthat enables the results of a search to be presented in context so thata user can understand the results of the search more easily.

[0003] It is an aim of the present invention to provide apparatus and amethod for presenting the results of a search to a user that providesthe search results in context and, in addition, assists the user infurther refining the search.

[0004] In one aspect the present invention provides apparatus forpresenting a user with search results, wherein the apparatus comprisesmeans for receiving from searching apparatus search results includingcontextual information for each search result,

[0005] means for presenting the search results to the user;

[0006] means for instructing the search engine to conduct a furthersearch when a user selects contextual information associated with asearch result; and

[0007] means for presenting the results of the further search to theuser.

[0008] In an embodiment, the present invention provides a user interfaceto the searching apparatus described in EP-A-1033662 (corresponding toU.S. application Ser. No. 09/511,447, the whole contents of which arehereby incorporated by reference).

[0009] In an embodiment, each search result is associated with at leastone set of contextual information and each set of contextual informationis associated with data for enabling refinement of the search results soas to include only the search results having that contextual informationwhen the user selects that contextual information.

[0010] In an embodiment, the apparatus may be arranged to instruct thesearching apparatus to carry out a refined search on the basis of theselected contextual information. In another embodiment, the apparatusmay be arranged to filter the results of a search carried out by thesearching apparatus in accordance with the contextual information.

[0011] Embodiments of the present invention will now be described, byway of example, with reference to the accompanying drawings, in which:

[0012]FIG. 1 shows a functional block diagram of a network system forenabling a user to conduct a search;

[0013]FIG. 2 shows a block diagram of a computer system suitable forforming a user browser shown in FIG. 1;

[0014]FIG. 3 shows a block diagram of a computer system suitable forforming a search interface apparatus 2 or search engine 3 shown in FIG.1;

[0015]FIG. 4 shows a functional block diagram of the search engine shownin FIG. 1;

[0016] FIGS. 5 to 8 show flow charts for illustrating the carrying outof a search on the system shown in FIG. 1;

[0017]FIG. 9 shows a schematic block diagram for illustrating thecontents of a database of the system shown in FIG. 1;

[0018]FIGS. 10a and 10 b show flow charts for illustrating in greaterdetail steps carried out by search interface apparatus shown in FIG. 1when a search is instructed by a user;

[0019]FIGS. 11a to 11 c show flow charts for illustrating in greaterdetail steps carried out by the search interface apparatus upon receiptof search results from the search engine;

[0020]FIG. 12 shows an example of a search input screen that may bedisplayed to a user to enable a user to instruct a search;

[0021]FIG. 13 shows an example of a screen that may be displayed to auser showing the results of a search in an image mode;

[0022]FIG. 14 shows an example of a screen that may be displayed to auser to show the results of a search in a context mode;

[0023]FIG. 15 shows an example of a screen that may be displayed to auser showing the results of a search filtered in accordance with contextinformation;

[0024]FIG. 16 shows an example of a screen that may displayed to a userto show the search results shown in FIG. 15 further refined inaccordance with further context information; and

[0025]FIG. 17 shows the screen that may be displayed to a user to showthe search results shown in FIG. 16 further refined by further contextinformation.

[0026] Referring now to the drawings, FIG. 1 shows by way of a blockdiagram a system 100 in which one or more user browsers 1 (two are shownalthough there may be only one or many more) are coupled via a network Nand a search interface apparatus 2 to a search engine 3 which is itselfcoupled to a database 4.

[0027] The network N may be the Internet or an Intranet or may be alocal area network (LAN) or wide area network (WAN) and the userbrowsers 1, search interface apparatus 2, search engine 3 and database 4may be physically located within the same or different buildings. Inthis regard, it will be appreciated that the search engine 3 may beconnected to the search interface apparatus 2 via the network N or adifferent network and that, similarly, the database store may bedirectly connected to the search engine 3 or may be connected to thesearch engine 3 via the network N or a different network. It will, ofcourse, be understood that, as used herein, the word “network” does notnecessarily imply the use of any known or standard networking system orprotocol and that the network N may be any arrangement which enablescommunication between the user browser and the search interfaceapparatus.

[0028]FIG. 2 shows a block diagram of a typical computer system 1 a thatmay form a user browser 1. The computer system may be, for example, apersonal computer, a portable computer or work station or the like andcomprises a central processor unit (CPU) 11 with associated memory (ROMand/or RAM) 12, a hard disk drive 16, a removable disk drive (RDD) 13for receiving a removable storage medium or disk (RD) 13 a, a display 15for displaying information to a user, a user interface 14 such as akeyboard and/or pointing device such as a mouse for enabling a user toinput instructions to the CPU 11, and a communications interface 17 forenabling communication over the network N.

[0029]FIG. 3 shows a block diagram of a computer system 1 b suitable forforming a search system comprising the search interface apparatus 2, thesearch engine 3 and the database 4. As shown, the computer systemcomprises a CPU 21 having associated memory (ROM and/or RAM) 22, a harddisk drive 26, a communications interface 27 for communicating with userbrowsers 1 over the network N and a data store 4 a for providing thedatabase 4. As shown in FIG. 3, the computer system may also have a userinterface 24 and display 25 for enabling a systems operator tocommunicate with the CPU 21 to, for example, to configure the computersystem to provide the searching system. The computer system 21 may alsoinclude a removable disk disk drive (RDD) 23 for receiving a removabledisk (RD) 23 a for enabling data and/or processor implementableinstructions to be downloaded from a removable disk such as, forexample, a floppy disk or optical storage medium such as a CD ROM, DVDdisk or the like. The computer system shown in FIG. 3 may also beconfigurable by processor implementable instructions and/or datasupplied as a signal S via, for example, communications interface 27from another computer system.

[0030] The computer system shown in FIG. 3 may thus be programmed orconfigured to provide the searching system shown in FIG. 1 by programinstructions and/or data supplied in at least one of two ways;

[0031] 1. as a signal S supplied over the network N; and

[0032] 2. carried by a removable disk or data storage medium (RD).

[0033] Program instructions and data will, of course, be stored on thehard disk drive 26 and/or in the memory 22 in known manner.

[0034] The computer system 1 a shown in FIG. 2 is configured as a userbrowser by conventional program instructions which may be supplied on aremovable storage medium and/or as a signal over the communicationsinterface 17. Typically a user browser 1 may be configured to implementthe Netscape web browser or Microsoft Internet Explorer web browser.

[0035]FIG. 4 shows a block diagram for illustrating the functionalcomponents of the search engine 3 provided by the computer system shownin FIG. 3 when programmed by processor implementable instructions. Thesearch engine 3 has the same functional components as the search engineshown in FIG. 1 of EP-A-1033662 (corresponding to U.S. application Ser.No. 09/511,447 the whole contents of which are hereby incorporated byreference) with exception that the interface 1 shown in FIG. 1 ofEP-A-1033662 is replaced by the communications interface 31 which isarranged to receive, over the network N, input search queries from auser browser 1 and to provide, over the network N, search results to auser browser 1.

[0036] A parser 32 is coupled to the communications interface 31 and tothe database 4 so as to parse input search queries and information fromthe database 4 to generate semantic and syntactic information. As setout in EP-A-1033662, the parser may be of any form. For example, theparser may be a dependency parser which parses natural language togenerate meaning data which comprises meaning representations for wordsand links indicating which meaning representation modifies anothermeaning representation. Examples of dependency parsers are disclosed inGB-A-2269923, EP-A-0737928, a paper by T Järvinen and P Tapanainenentitled “A Dependency Parser for English” (Technical Report No. TR-1,Department of General Linguistics, University of Helsinki, March 1997),and a paper by P Tapanainen and T Järvinen entitled “A Non-ProjectiveDependency Parser” (Proceedings of the 5th Conference on Applied NaturalLanguage Processing, Washington D.C., April 1997, Association forComputational Linguistics). As another possibility, the finite stateparser implementing a dependency parser technique described in theapplicants co-pending application EP-A-1033663 (corresponding to U.S.application Ser. No. 09/511,385 the whole contents of which are herebyincorporated by reference) may be used.

[0037] The parser 32 is thus arranged to generate two sets of parseddata which are passed to a matching engine 33 which performs matchingusing both semantic and syntactic information from the parser 32.Matching to provide a full set of semantic relationships between wordsis described in the applicants co-pending EP-A-0992919 (corresponding toU.S. application Ser. No. 09/400,872 the whole contents of which arehereby incorporated by reference).

[0038] A context generation engine 34 is coupled to the matching engine33 to generate context data for the matched data in accordance withlinguistic relationship data stored in a linguistic relationship datastorage device 35. The output of the context generation engine 34 issupplied to a context gathering engine 36 which is arranged to receivethe context data from the context generation engine 34 and to pass thesearch results and context data to the communications interface 31 forsupply to the browser 1 of the user who requested the search over thenetwork N.

[0039] The carrying out of a search on the system 100 shown in FIG. 1will now be described in overview with reference to FIGS. 5 to 8.

[0040] In order to initiate a search, a user connects to his Internetservice provider in usual manner and then enters the appropriate URL toenable connection to the web server providing the searching interfaceapparatus 2 via the network N. When a log on request is received via anetwork interface 2 c of the web server 2 from a user browser 1 at stepS1 in FIG. 5 the web server 2 forwards, at step S2 in FIG. 5, a searchquery entry page to the user browser 1 over the network N to cause asearch query entry screen to be displayed on the display 15 of the userbrowser 1.

[0041]FIG. 6 shows the steps that are then carried out by the userbrowser 1. Thus, when at step S3 in FIG. 6 the user browser 1 determinesthat the user has entered a search request in the search query entryscreen, then, at step S4, the user browser generates, in conventionalmanner, a URL consisting of the URL of the web server 2 andincorporating the search details entered by the user at step S4 and thenat step S5 submits the URL to the network N. Communication over thenetwork is, in this embodiment, in accordance with standard Internetprotocols and the search query provided by the user browser 1 isformulated in HTML (hypertext markup language). When at step S6 in FIG.7a the web server 2 receives the URL incorporating the users searchrequest, a search query generator 2 a of the web server 2 extracts thesearch request from the URL and runs a CGI script to formulate thesearch query as an XML (extendable Markup Language) document for supplyto the search engine 3 at step S7. The query generator 2 a then forwardsthe search request as an XML document to the search engine at step S8 inFIG. 7a. In this example, the connection between the query generator 2 aand the search engine 3 is via a TCP/IP socket.

[0042] When at step S9 in FIG. 7b, the web server 2 receives an XMLdocument from the search engine 3 providing the results of the requestedsearch, then at step S10, a search results provider 2 b of the webserver 2 processes the search results for supply to the user browser 1at step S10 as will be described in greater detail below and then, atstep S11, forwards the search results as an HTML (Hyper Text MarkupLanguage) document to the user browser 1 over the network N.

[0043] When at step S12 in FIG. 8, the user browser 1 receives, via thenetwork N, a web page containing the search results, then, at step S13,the user browser 1 displays the received web page to the user showingthe search results.

[0044] The searching procedure will now be described in detail for thecase where the database to be searched is a database of images eachassociated with meta data defining a caption describing that image.

[0045]FIG. 9 shows very schematically the structure of the database. Asshown, the database 4 comprises a first store 41 of database items inthe form of images 44 each associated with an image ID 42 and meta data43 defining the corresponding caption. As shown in FIG. 9, the database4 also includes a second store 45 in which each image ID 42 isassociated with a thumbnail image 47 of the corresponding image.

[0046] In order to submit a search query to the search engine 3 tosearch in the database 4, the user will initially log on to the webserver in a conventional manner by inputting the URL of the web server2. This URL will have the format:

[0047] http://xxxx.com

[0048] where “xxxx.com” represents the address of the web server 2. Itwill be appreciated that “xxxx” is not intended to represent an actualwebsite address.

[0049] As set out above with reference to FIG. 5, when a log on requestis received from a user browser, the web server 2 forwards to the userbrowser a search query entry web page. FIG. 12 shows a screen 50displaying an example of such a search query entry page. The screen 50provides a window 51 into which a user can input a search query usingthe keyboard of the user interface 14. To assist the user, an example 56(“camera with lens”) of a possible search query is given below thewindow to show the search query format. The screen 50 also has radiobuttons 51 and 52 for enabling a context mode and an images mode ofsearch results presentation to be selected together with a help button55 providing, in known manner, a hyperlink to on-line help and a searchbutton 54 for initiating a search in accordance with the search queryinput to the window 51.

[0050] When the user browser 1 determines at step S3 in FIG. 6 that theuser has clicked on the search button 54 to initiate the search, then atstep S4 the user browser 1 generates from the web page in known manner aURL incorporating the search details entered by the user and specifyingwhether the user has selected the context or images mode of searchresult presentation by activating either the radio button 52 or theradio button 53.

[0051] To give an example, where the user enters as the search query“boats on the sea” and activates the images radio button 53, then theuser browser 1 will generate the following URL:http://xxxx.com?rtype=images&query=boats%20o n%20the%20sea&type=image

[0052] in which “xxxx.com” represents the base URL of the web server 2and the form data after the base URL are a set of key/value pairsseparated by “&” in conventional manner. The first key “rtype” indicateswhether the radio button 52 or the radio button 53 has been selectedwith, in the above example, the radio button 53 selecting the imagesmode of results presentation having been selected. The second key“query” specifies the search query present in the window 51, in thiscase “boats+on+the+sea” (where the %20 sequences have been transformedinto their character equivalents) and the final key “type” specifies theformat of the results with the type being “image” when the radio button53 is selected and the type being “context” when the radio button 52 isselected. As will be explained below, in this embodiment, a furtherresults format consisting of a presentation of a single image isprovided to enable a user to view on a larger scale an image selectedfrom the images included in the search results.

[0053] The step S4 in FIG. 6 of generating a URL incorporating thesearch details entered by a user will now be described in greater detailwith reference to FIG. 10a for the case where the user enters the searchquery “mountains” in the window 51. Thus, at step S41, the browser 1determines whether context or images mode of presentation of searchresults has been selected by checking whether the radio button 52 or theradio button 53 has been activated. If the radio button 53 is activated,then the answer at step S42 is yes and at step S43 the browser 1generates a URL having a query key determined by the search query inputby the user into the window 51 and a last key of type images. In thisexample, the URL would have the form: http://xxxx.com?rtype =images&query= mountains&type=image

[0054] If, however, the answer at step S42 is no, then at step S44 thebrowser 1 generates a URL having as the second key a query defined bythe users search request in the window 51 and a last key of typecontext. Thus, in this case the URL would have the form:http://xxxx.com?rtype=context&query= mountains&type=context

[0055] The URL is then submitted to the network as described above withreference to step S5 of FIG. 6. After the web server 2 has received theURL from the user browser at step S6 in FIG. 7a, the query generator 2 adecodes the URL and formats a search request in the form of an XMLdocument by running a CGI script as described above. In this embodiment,the XML document will have the format: <ce> <q> query </q> </ce>

[0056] Thus in the particular example given above, the XML search querydocument will have the format: <ce> <q> mountains </q> </ce>

[0057] The XML search query document is then forwarded to the searchengine 3 via the TCP/IP socket at step S8 in FIG. 7a.

[0058] The search engine 3 then conducts the search as described inEP-A-1033662 with reference to FIGS. 3 to 5 of EP-A-1033662. Thus, inbrief, the parser 32 parses the input search query. Then for each set ofcaption or meta data in turn, the parser 32 parses the caption data, thematching engine 33 matches the parser search query to the parsed captiondata and generates matched data. If there are any matched words, thenthe context generation engine 34 generates context data for that captiondata by selecting the unmatched words in the caption data in turn anddetermining for each unmatched word whether the unmatched word is at theend of a path defined in the path rules. If the unmatched word is in avalid phrase, then the context generation engine 34 finds the smallestvalid phrase containing the unmatched word, adds the phrase to memoryreferenced to the matched word and repeats this process until thecontext generation engine 34 has processed all of the unmatched wordsfor the set of context data. Then the context gathering engine 36carries out the steps set out in FIG. 5 of EP-A-1033662 to group thedata accordingly and supplies to the communications interface 31 searchresults in which each search item or result matching the search requestinput into the window 51 by the user is listed together with its relatedcontext data.

[0059] It will, of course, be appreciated that, as set out inEP-A-1033662, the matching process (which is described in greater detailin EP-A-0992919) uses semantic broadening so that a matching word neednot be the same word but could be a word having a similar meaning. Forexample, the word “boys” may be considered a good match for the word“children”.

[0060] The search results are supplied via the search engine 3 to thesearch results provider 2 b as an XML document having the format givenbelow. <body> <cedis> <c 1 12/img0021.jpg>snowy mountains above a lake.<context>mountains=snowy</context> <context>above=</context><context>lake=blue</context> </c> . . . . . . . . . . . . . . . </cedis></body>

[0061] For the sake of simplicity, only one search result is shown abovewith the ellipsis indicating that further search results will normallybe included within the body of the document.

[0062] Each search result consists of an image ID for the thumbnailimage corresponding to the image identified in the search followed byits corresponding caption or meta data, in this case: <c 112/img0021.jpg>snowy mountains above a lake.

[0063] followed by a set of context data extracted by the search engine3, in this case the context “snowy” for the word “mountains” and thecontext “blue” for the word “lake”.

[0064] The search results provider 2 b then processes the search resultsfor supply to the user browser at step S10 in FIG. 7b. This process isshown in greater detail in FIG. 11.

[0065] Thus, at step S100, the search result provider 2 b determineswhether the URL containing the original search request specifiedpresentation of the search results in the images or context mode.

[0066] When it is determined at step S101 that the images mode wasselected, then, at step S102, the search results provider 2 b generatesan HTML document for providing a web page incorporating, for each searchresult, the corresponding thumbnail image provided by the database 4 andthe corresponding caption.

[0067] If, however, the search results provider 2 b determines that theURL specified the context mode at step S103, then the search resultsprovider 2 b generates, at step S105, an HTML document representing aweb page in which the search results are grouped according to contextand each context item is associated with thumbnail images provided bythe database 4 for the stored images whose captions include that contextitem.

[0068] The search results are then forwarded to the user browser 1which, as set out in FIG. 8, receives the HTML web page and displays thereceived page to the user at step S13.

[0069]FIG. 13 shows an example of a web page of screen 60 displayed tothe user where the user selected presentation of the search result inthe images mode. As can be seen from FIG. 13, the screen 60 includes aset of seven search items each of which consists of a thumbnail image 63and an associated caption 62. It will, of course, be appreciated thatthese are only examples and that many more or different search items maybe retrieved depending upon the content of the database. Also, for thesake of simplicity, the thumbnail images 63 are shown blank in FIG. 13.

[0070]FIG. 13 also includes a button “show as context” 61 which enablesthe user to be presented with the search results sorted by context. Ifthe user clicks on the “show as context” button 61, then the browser 1will resubmit the search query to the web server 2 over the network Nwith a modified URL specifying the same search query but specifying thatthe context presentation mode is required as described above withreference to step S44 in FIG. 10a.

[0071] Where the button 61 in FIG. 13 is clicked or the user initiallyselected the context mode, then, as explained above, the search resultsprovider 2 b will group the search results in accordance with thedetermined context items and supply an HTML document or web page overthe network N to the user browser 1.

[0072]FIG. 14 shows an example of a screen 70 that may be displayed to auser. Again, it will be appreciated that the actual content of thescreen will depend upon the content of the database 4. The screen 70provides three columns 66, 67 and 68 headed “matched word”, “context”and “images” respectively. The search query entered in the window 51 bythe user is given as the matched word and the context items representingthe contexts extracted by the context generation engine are listed inthe column headed “context”. Each context item is associated with one ormore thumbnail images 69. Thus, for example, the context item “above alake” is associated with a large number of thumbnail images each ofwhich has a caption which includes a semantic match for the word“mountain” and also includes the context item “above a lake”. It will,of course, be appreciated that, because the thumbnail images are groupedaccording to context, the same image may occur for one or more contextitems, so that, for example, an image whose caption reads “snowymountains above a lake against a blue sky” would occur against thecontext item “above a lake”, the context item “against a blue sky” andthe context item “snowy”.

[0073] The searching, context extraction and presentation of the searchresults to the user as so far described is similar to that described inEP-A-1033662. However, in accordance with the present invention, whenpresented in the context mode of presentation, the search results do notsimply present the context item or items for the associated images.Rather, each context item represents a hyperlink as represented by theunderlining in FIG. 14. Thus in accordance with the present invention,when step S102 is carried out, the search results provider 2 bdetermines whether, for any image, a context item is associated withfurther context items, that is the caption for at least one image havingthat context item also has at least one other context item. This isshown in FIG. 11c.

[0074] Thus at step S109 in FIG. 11 c the search results provider 2 bselects a first context item and determines at step S110 whether anyimage having that context item also is associated with another contextitem. If the answer is yes then the search results provider 2 bassociates a hyperlink with that context item at step S111.

[0075] The search results provider 2 b then checks at step S112 whetherthere are any other context items to be checked and repeats steps S109to S112 until the answer at step S112 is no. Thus each context item thatis associated with at least one image having further context isassociated with a corresponding hyperlink which is included by thesearch results provider 2 b in the HTML document generated at step S102in FIG. 11a. When the user receives on the display of his user browserthe search results presented in context mode, the user may, as will bedescribed below, further refine his search by selecting a particularcontext item to activate the corresponding hyperlink.

[0076] As set out in FIG. 10b, when the browser 1 determines at step S45that a context item has been selected, then at step S46 the browser 1generates a URL in accordance with the hyperlink associated with thecontext item. This URL is based on the URL generated for the originalsearch request but modified to include a third key “select” whichspecifies a context filter specifying the context item selected by theuser. Where, for example, the context item selected by the user is“against a blue sky” in FIG. 14 then the URL will have the form:http://xxxx.com?rtype=context&query=mountains&select=mountains%3a%3aagainst+a+ blue+sky&type=context

[0077] where %3a represents a colon.

[0078] This URL is submitted to the network N at step S47 in FIG. 10b.Upon receipt of the URL at step S6 in FIG. 7a, the query generator 2 agenerates, using the CGI script, an XML document representing the searchrequest for submission to the search engine 3. In this embodiment, thissearch request has the same format as described above, namely: <ce><q>mountains </q> </ce>

[0079] Upon receipt of the search request, the search engine 3 carriesout the search again as described above, and returns the search resultsto the search results provider 2 b.

[0080] The action of the search results provider 2 b on receipt of thesearch results will now be described with reference to FIG. 11b.

[0081] Upon receipt of the search results, the search results provider 2b determines at step S106 in FIG. 11b that the URL for the searchspecified a selected context item. The search results provider 2 b, thenat step S107, filters the search results in accordance with the selectedcontext item and retains only the search results whose context dataincludes the selected context item. Then at step S108, the searchresults provider 2 b groups the filtered search results according to thecontext and incorporates the filtered search results including, again,the context items and hyperlink information into a HTML document forminga web page. The filtering process carried out by the search resultsprovider 2 b at step S107 is, in this embodiment, a simply keywordmatching process so that only those images associated with context dataexactly matching the selected context item will be retained.

[0082] The web page containing the filtered search results is thenforwarded to the user browser 1 and the results are again displayed tothe user.

[0083]FIG. 15 shows a screen 80 representing an example of the filteredsearch results obtained for the selected context “against a blue sky”.The format is the same as that shown in FIG. 14 with the search resultsbeing presented with three column headings “matched word”, “context” and“images” 66, 67 and 68, respectively.

[0084] As shown in FIG. 15, each of the context items listed representsa hyperlink indicating that further filtering is possible. The user may,therefore, choose to further refine his search by clicking on one of thecontext items set out in FIG. 15. If, for example, the user selects thecontext “snowy” then the browser 1 will be caused to generate a new URLwhich incorporates a further filter “snowy” as shown below:http://xxxx.com?rtype=context&query=mountains&select=mountains%3a%3aagainst+a+blue+sky%3a,%3asnowy&type=context

[0085] The process described above is then repeated with the searchrequests submitted to the search engine again being: <ce> <q> mountains</q> </ce>

[0086] However, in this case, the filter applied by the search resultsprovider 2 b at step S107 is FIG. 11b is a matching filter which selectsonly those images whose captions include the context item “against ablue sky” and the context item “snowy”. These further filtered searchresults are then incorporated into an HTML document together with theassociated context items and any hyperlink information at step S108 asdescribed above and forwarded to the user browser 1 to cause the browserto display the further filtered search results to the user. FIG. 16shows a typical screen 90 that may be displayed by the browser. As canbe seen, the search results are presented in a manner similar to thatshown in FIGS. 14 and 15, with those context items that are linked tohyperlinks indicating that they have further context being shownunderlined. In the example shown in FIG. 16 only two of the contextitems “above a lake” and “with trees” are associated with furthercontext and so have a hyperlink.

[0087] The user may, if desired, then repeat the above process byselecting one of the hyperlinked context items, for example, the contextitem “with trees”. The above described process will then be repeatedwith, in this example, the filter applied at step S107 filtering outonly those images whose captions include the context items “against ablue sky”, “snowy” and “with trees”. FIG. 17 shows a screen 95 providedto the user with the results of this further filter of the search. Inthis example, a single image having the caption “snowy mountains withtrees against a blue sky and above a lake” (that is a caption includinga word providing a semantic match to the word “mountain” and includingthe context items “against a blue sky”, “snowy” and “with trees”) hasbeen found. The context “above a lake” is not associated with ahyperlink because the image does not have further context associatedwith it.

[0088] Where a hyperlink for a context item is associated with only asingle image then the filtered search results will simply be that imageand the search results provider 2 b may be configured to provide to theuser the full image rather than the thumbnail image.

[0089] Each of the screens shown in FIGS. 15 to 17 provides the userwith information indicating the applied filter, the number of locatedimages and the number of images that have further context. In additioneach of these screens includes a button 83 “show as images”. Clicking onthis button causes the browser 1 to supply to the web server 2 a URLbased on the URL used to produce the filter search but with the type“context” replaced by the type “image”. In this case when search resultsare received by the search results provider 2 b, the search resultsprovider 2 b will determine at step S106 in FIG. 11b that image modepresentation has been selected. Then at step S120, the search resultsprovider 2 b filters the search results in accordance with thepreviously defined filter. Thus, for example, if the “show as images”button 83 is clicked in screen 90 shown in FIG. 16, then the searchresults will be filtered to pick out only those images whose captionsinclude the context items “against a blue sky” and “snowy”. Then at stepS121, the search results provider 2 b generates an HTML documentincluding the thumbnail image for each image and its associated caption.This document will produce, when supplied to the user browser 1, ascreen similar to the screen shown in FIG. 13 but including only thoseimages having captions including all the context items present in thefilter, that is, in this case, only those images with captions includingthe context item “against a blue sky”.

[0090] In each of the screens shown in FIGS. 13 to 17, a user may alsoclick on an individual thumbnail image. Clicking on a thumbnail imagecauses the browser 1 to generate a URL address including the image ID ofthat particular image to enable the image rather than the thumbnailimage to be retrieved from the database 4. For example, if an image 69shown in FIG. 17 is clicked on, then the URL will have the form set outbelow: http://xxxx.com?rtype=context&query=mountains&type=showimage&image=12/img0034.jpg&caption=snowy+mountains+against+a+blue+sky+ and+above+a+lake

[0091] where 12/img0034.jpg is the image ID.

[0092] When this URL is received by the query generator 2 a the querygenerator will generate a query to the database to enable the actualimage rather than the thumbnail to be retrieved from the database 4 andsupplied in an HTML document to the user via the network N.

[0093] In the above described embodiments, the database to be searchconsists of a database of images each associated with a caption. Itwill, of course, be appreciated that the search documents need notnecessarily comprise images but could be for example, text documents,audio or video files or a combination of these. Where the searchdocuments are text documents, then the meta data corresponding to thecaption data may constitute an abstract for the document whereas, wherethe search documents are audio or video files, the meta data will againbe caption data describing the video or audio file. Of course, the metadata may, for example, be derived by a speech recognition engine from aspeech data file. Thus, for example, where the search documents areaudio or video files, the meta data may be derived by the speechrecognition engine from the audio data of the audio file or the soundtrack data of the video file. This enables, in the case of a video file,searching to be conducted on the basis of speech or voice dataassociated with the moving images or frames of the video data fileenabling a user to search for a particular series of frames or framewithin the sequence of moving images forming the video data of the videofile.

[0094] The above described embodiments rely on natural languagetechniques to extract the context information from the meta data orcaptions. The present invention may, however, be applied where it is notnecessary to extract the context information because the contextinformation is already presented in a context table. This may be thecase for any type of database, for example, an images audio files orvideo files database. An example of a database where this may be thecase is a film database where the reference data for each film consistsof the film title and the context data consists of subsidiaryinformation available in the database for each film, such as, forexample, the year of release, type of movie (Type) male lead (ML), malesupport (MS), female lead (FL), female support (FS), director (D),producer (P), writer (W), distributor (Dist), country (place), language(Lang) etc.

[0095] As an example, a user may search a film database for films whosetitles include the word “escape”. In this example, the radio button 53in FIG. 12 would be labelled “lists” or “search items” rather than“images” and the search may, dependent upon the content of the database,result in a list such as the following:

[0096] Great Escape, The

[0097] Escape by Night

[0098] Escape by Night

[0099] Escape Clause

[0100] Escape Dangerous

[0101] Escape Velocity

[0102] Escape from Alcatrax

[0103] Escape from Andersonville, The

[0104] Escape from Angola

[0105] Escape from Black Street

[0106] Escape from Crime

[0107] Escape from Cuba

[0108] Escape from Devil's Island

[0109] Escape from Dino Island

[0110] Escape from DS-3

[0111] Escape from East Berlin

[0112] Escape from El Diablo

[0113] Escape from Fort Bravo

[0114] Escape from Hell Island

[0115] Escape from Hong Kong

[0116] Escape from Japan

[0117] Escape from L.A.

[0118] Escape from New York

[0119] Escape from Paradise

[0120] Escape from Red Rock

[0121] Escape from Terror

[0122] Escape from the Planet of the Apes

[0123] Escape in the Desert

[0124] Escape in the Fog

[0125] Escape in the Sun

[0126] Escape Me Never

[0127] Narrow Escape, The

[0128] Selecting “show results as context” in FIG. 12 would, provide theuser with search results in the form shown in Table 1 below. TABLE 1Matched Word Context Number of Films Escape 20th Century Fox ******(Dist) 60's ** 70's ** 80's **** 90's ****** Action (Type) ** ClintEastwood (ML) *** Comedy (Type) * English (Lang) ******************Ernest Borgnine (MS) * French (Lang) ** Japanese (Lang) * John Carpenter(D) *** John Sturges (D) * Julia Roberts (FL) ** Kim Hunter (FS) * KurtRussel (ML) * MGM (Dist) ***** Paramount (Dist) ***** Paul Dehn (W) *Roddy McDowall (MS) * Steve McQueen (ML) ** War (Type) **** Western(Type) **

[0129] Where each context item in the context column, is a hyperlink,that when activated, would cause the search results to be filtered inaccordance with that context. Thus, for example, if the user clicks onthe hyperlink “Steve McQueen” in Table 1, then the search resultspresented to the user may have the form shown in Table 2 below. TABLE 2Matched Word Context Number of Films Escape 20th Century Fox ******(Dist) 60's ** 70's ** Action (Type) ** Clint Eastwood (ML) *** English(Lang) ****************** Ernest Borgnine (MS) * John Sturges (D) * MGM(Dist) ***** Paramount (Dist) ***** War (Type) **** Western (Type) **

[0130] Where the number of films is greater than one, then the contextitem will then again represent a hyperlink and selecting that hyperlinkwill cause the search results to be filtered in accordance with thatcontext item. Thus, for example, selecting John Sturges as the directorwill result in the user being presented with search results includingonly one film namely “The Great Escape” (ML): Steve McQueen (D): JohnSturges (Type): War (Lang): English . . .

[0131] Handling of dates may need special attention because listing eachyear separately may clutter the users display while decade a grouping ofyears does not allow more specific filtering when only a few filmsremain in the filtered search results. This may be handled by definingindividual decades as individual context items each of which hassubsidiary context items so that selecting a decade will break thatdecade up into smaller year groupings.

[0132] In the above described embodiments, the search interfaceapparatus or web server 2 and search engine 3 are provided by a singlecomputer system. These may, however, be provided by separate computersystems that may be directly coupled or coupled via the network N or adifferent network. Also, in the above described embodiments, thedatabase 4 is directly connected to the search engine 3. It may,however, be possible for the database 4 to be physically locatedelsewhere on the network N or on a different network.

[0133] In the above described embodiments, the user browser 1 is coupledto the search interface apparatus 2 via a network N. It is, however,possible for the search interface apparatus 2 to be provided at the userbrowser 1 and for the connection to the search engine 3 to be via anetwork. In addition, a single computer system may be provided whichprovides the user browser, the search interface apparatus 2 and thesearch engine 3 and possibly also the database 4, in which case thenetwork N will be omitted.

[0134] In the above described embodiments, searching according tocontext is carried out by the search results provider 2 b. However, thequery generator 2 a may be configured so as to construct the searchquery for the search engine 3 so that the search request presented tothe search engine 3 includes the filter causing the search engine 3 toreturn only those documents which pass the filter.

[0135] In the above described embodiments, the search results are notsaved by the search interface apparatus 2 and accordingly each time theuser selects a context item in any of FIGS. 14 to 17 above or selects“show as images” in FIGS. 15 to 17 above, a fresh search request isgenerated. It may, however, be possible (particularly where the searchinterface apparatus 2 is provided at the user browser 1) for the resultsof the previous search to be stored so that it is not necessary for thesearch to be repeated, rather the context filter may be applied to thestored results of the previous search.

[0136] In the above described embodiments, hyperlinks are used toinitiate context filtering. This need not necessarily be the case and,for example, clicking or double clicking on the context may activate asub-program or application which causes the required action to becarried out.

[0137] In the above described embodiments, the search results arepresented as a list. However, drop down menus may be used so that, forexample, clicking on the word “context” would present a drop down listof context items from which the user could then select.

[0138] In the above described embodiments, the browser has a graphicaluser interface. It may, however, be possible to apply the presentinvention where the browser enables the user to input searchinstructions verbally.

1. Apparatus for presenting search results to a user to facilitaterefinement of the search, the apparatus comprising: a receiver operableto receive from a search engine search results consisting of at leastone search item associated with at least one context item relating tothe search item; a modifier operable to modify the search results byassociating at least one context item with data for enabling the user tocause the search results to be filtered in accordance with that contextitem by selecting that context item; and A supplier operable to supplythe modified search results to the user.
 2. Apparatus according to claim1, further comprising a determiner operable to determine when a user hasselected a context item, and a search controller operable to cause thesearch results to be filtered in accordance with the selected contextitem.
 3. Apparatus according to claim 2, wherein the search controllercomprises a filter operable to filter the search results in accordancewith the selected context item.
 4. Apparatus according to claim 2,wherein the search controller means comprises a search instructoroperable to cause the search engine to repeat the search and a filteroperable to filter the search results in accordance with the selectedcontext item.
 5. Apparatus according to claim 3, wherein the filter isarranged to filter the search results by selecting only those searchitems associated with the selected context item.
 6. Apparatus accordingto claim 1, wherein the supplier is arranged to supply to a displaydisplay instructions for causing the modified search results to bedisplayed on the display.
 7. Apparatus according to claim 1, wherein thesupplier comprises a communicator operable to supply the modified searchresults to a user over a network.
 8. Apparatus according to claim 1,wherein the modifier means is operable to associate a context item witha hyper ink.
 9. Apparatus according to claim 1, further comprising thesearch engine.
 10. Apparatus according to claim 9, wherein the searchengine comprises a context extractor operable to extract context fromsearch items to provide context items.
 11. Apparatus according to claim10, wherein the context extractor comprises a natural language processoroperable to extract context items from text forming or associated withsearch items.
 12. Apparatus according to claim 1, further comprising adata store containing a database of search items.
 13. Apparatusaccording to claim 12, wherein the database contains as said searchitems images each associated with caption data related to the image. 14.Apparatus according to claim 1, further comprising a search receivermeans operable to receive search instructions from a user, and a searchinstructor operable to instruct the search engine to carry out a searchin accordance with the received search instructions.
 15. Apparatus forpresenting search results to a user, the apparatus comprising aprocessor operable to: receive from a search engine search resultsconsisting of search items associated with context items relating to thesearch items; associate context items with filter data for enabling auser to cause the search results to be filtered in accordance with aparticular context when the corresponding context item is selected bythe user; supply display instructions to a display to cause the searchresults to be displayed to the user in accordance with the context itemsso that each context item is shown with the search item or itemsassociated with that context item for enabling the user to instructfiltering of the search results in accordance with the filter dataassociated with a context item by selecting that context item. 16.Apparatus according to claim 15, wherein the processor is operable toreceive search instructions from a user and to cause the search engineto carry out a search in accordance with the search instructions. 17.Apparatus according to claim 15, wherein the processor is operable todetermine when a user has selected a context item and then to cause thesearch results to be filtered in accordance with the filter dataassociated with the selected context item.
 18. Apparatus according toclaim 17, wherein the processor is operable to filter the search resultsin accordance with the selected context item.
 19. Apparatus according toclaim 17, wherein the processor is operable to cause the search engineto repeat the search and then to filter the search results in accordancewith a selected context item.
 20. Apparatus according to claim 18,wherein the processor is operable to filter the search results byselecting only those search items associated with the selected contextitem.
 21. Search interface apparatus for providing an interface betweena user and a search engine, which apparatus comprises: a search screensupplier operable to cause a display to display to a user a screenrequesting input of a search word or words; a search instructor operableto cause the search engine to carry out a search through at least onedatabase to locate database items stored in the database including orassociated with text corresponding to the search word or words; a searchreceiver operable to receive from the search engine search resultsconsisting of search items each comprising or related to a database itemand each associated with at least one context item derived from the textincluded in or associated with the database item; an associater operableto associate context items with filter instructions; a search resultssupplier operable to cause the display to display the search results tothe user such that each context item is associated with the search itemsincluding or associated with that context data; a filter instructiondeterminer operable to determine filter instructions associated with acontext item when that context item is selected by a user; a searchfilter operable to cause the search results to be filtered in accordancewith the filter instructions determined by the filter instructiondeterminer to produce modified search results; and a modified searchresults supplier operable to cause the modified search results to bedisplayed on the display such that each search item in the modifiedsearch results is associated with any corresponding context item oritems.
 22. Apparatus according to claim 21, wherein the search screensupplier is arranged to cause the search input search screen to enable auser to select whether the search results are to be displayed in acontext mode or a search result mode and, when the search result mode isselected, the search results supplier is arranged to supply the searchresults without the context items.
 23. Search interface apparatus forproviding an interface between a user's computer and a search engine,which apparatus comprises a processor programmed by processorimplementable instructions to: cause a display to display to a user ascreen requesting input of a search word or words; instruct the searchengine to carry out a search through at least one database to locatedatabase items stored in the database including or associated with textcorresponding to the search word or words; receive from the searchengine search results consisting of search items each comprising orrelated to a database item and each associated with at least one contextitem derived from the text included in or associated with the databaseitem; associate a context item with filter data when at least one imageassociated with that context item is associated with at least one othercontext item; provide the search results to the user's computer suchthat each context item is associated with any corresponding filter data;cause the display to display the search results to the user so that eachcontext item and the search item or items associated with that contextitem can be displayed in association with one another; determine thefilter data associated with a context item when that context item isselected by a user; cause the search results to be filtered inaccordance with the determined filter data to produce modified searchresults including only those search items associated with the selectedcontext item; and cause the modified search results to be displayed onthe display such that each search item in the modified search results isassociated with any corresponding context item or items and the contextitem or items are associated with any corresponding filter data. 24.Apparatus according to claim 23, wherein the processor is programmed tocause the search input search screen to enable a user to select whetherthe search results are to be displayed in a context mode or a searchresult mode and, when the search result mode is selected, to supply thesearch results without the context items.
 25. Apparatus according toclaim 23, wherein the processor is operable to communicate with theuser's computer over a network and to provide the filter data in networkaddress data.
 26. Apparatus according to claim 23, wherein the processoris operable to communicate with the user's computer over a network andto provide the filter data as hyperlink data.
 27. Apparatus according toclaim 23, wherein the processor is operable to communicate with theuser's computer over the Internet and to cause the user's computer toincorporate the search word or words and any filter data in a URLdefining the address of the apparatus.
 28. Apparatus according to claim25, wherein the processor is operable to communicate with the user'scomputer using HTML and to instruct the search engine by generating anXML document incorporating the search word or words provided by theuser.
 29. Apparatus according to claim 23, wherein the processor isoperable to instruct the search engine to conduct a search through adatabase of images each associated with a caption providing the data forthe corresponding context item or items and to cause the search resultsto be presented to the user as thumbnail representations of thecorresponding images.
 30. In a processing apparatus, a method ofpresenting search results to a user to facilitate refinement of thesearch, the method comprising the steps of: receiving from a searchengine search results consisting of at least one search item associatedwith at least one context item relating to the search item; modifyingthe search results by associating at least one context item with datafor enabling the user to cause the search results to be filtered inaccordance with that context item by selecting that context item; andsupplying the modified search results to the user.
 31. A methodaccording to claim 30, further comprising the steps of determining whena user has selected a context item, and filtering the search results inaccordance with the selected context item.
 32. A method according toclaim 31, wherein the filtering step comprises filtering the searchresults in accordance with the selected context item.
 33. A methodaccording to claim 31, which comprises carrying out the filtering stepby causing the search engine to repeat the search and filtering thesearch results in accordance with the selected context item.
 34. Amethod according to claim 32, wherein the filtering step filters thesearch results by selecting only those search items associated with theselected context item.
 35. A method according to claim 30, wherein thesupplying step supplies to a display display instructions for causingthe modified search results to be displayed on the display.
 36. A methodaccording to claim 30, wherein the supplying step comprises supplyingthe modified search results to a user over a network.
 37. A methodaccording to claim 30, wherein the modifying step associates a contextitem with a hyperlink.
 38. A method according to claim 30, furthercomprising the step of conducting the search using the search engine.39. A method according to claim 38, wherein the search conducting stepincludes a context extracting step of extracting context frominformation comprising or associated with search items to providecontext items.
 40. A method according to claim 39, wherein the contextextracting step comprises using natural language processing means toextract context items from text information forming or associated withsearch items.
 41. A method according to claim 30, further comprising thesteps of receiving search instructions from a user and instructing thesearch engine to carry out a search in accordance with the receivedsearch instructions.
 42. In a computer processing apparatus, a method ofpresenting search results to a user, the method comprising the steps of:receiving from a search engine search results consisting of search itemsassociated with context items relating to the search items; associatingcontext items with filter data for enabling a user to cause the searchresults to be filtered in accordance with a particular context when thecorresponding context item is selected by the user; providing a signalfor supplying display instructions to a display to cause the searchresults to be displayed to the user in accordance with the context itemsso that each context item is shown with the search item or itemsassociated with that context item for enabling the user to instructfiltering of the search results in accordance with the filter dataassociated with a context item by selecting that context item.
 43. Amethod according to claim 42, further comprising the steps of receivingsearch instructions from a user and causing the search engine to carryout a search in accordance with the search instructions.
 44. A methodaccording to claim 42, comprising the steps of determining when a userhas selected a context item and causing the search results to befiltered in accordance with the filter data associated with the selectedcontext item.
 45. A method according to claim 44, comprising the step offiltering the search results in accordance with the selected contextitem.
 46. A method according to claim 44, comprising the steps ofcausing the search engine to repeat the search and then filtering thesearch results in accordance with a selected context item.
 47. A methodaccording to claim 45, comprising carrying out the filtering step byselecting only those search items associated with the selected contextitem.
 48. In a computer processing apparatus, a method of providing aninterface between a user and a search engine the method comprising thesteps of: causing a display to display to a user a screen requestinginput of a search word or words; causing the search engine to carry outa search through at least one database to locate database items storedin the database including or associated with text corresponding to thesearch word or words; receiving from the search engine search resultsconsisting of search items each comprising or related to a database itemand each associated with at least one context item derived from the textincluded in or associated with the database item; associating contextitems with filter instructions; cause the display to display the searchresults to the user such that each context item is associated with thesearch item or items including or associated with that context item;determining filter instructions associated with a context item when thatcontext item is selected by a user; filtering the search results inaccordance with the determined filter instructions to provide modifiedsearch results including only search items including or associated withthe selected context item; and providing a signal for causing themodified search results to be displayed on the display such that eachsearch item in the modified search data is associated with anycorresponding context item or items.
 49. A method according to claim 48,wherein the step of causing the display to display the search screencauses a search screen to be displayed that enables a user to selectwhether the search results are to be displayed in a context mode or asearch results mode and wherein, when the search results mode isselected, the search results are displayed without the context items.50. A method of operating a processor to provide an interface between auser's computer and a search engine, which method comprises causing theprocessor to carry out the steps of: causing a display to display to auser a screen requesting input of a search word or word; instructing thesearch engine to carry out a search through at least one database tolocate database items stored in the database including or associatedwith text corresponding to the search word or words input by the user;receiving from the search engine search results consisting of searchitems each comprising or related to a database item and each associatedwith at least one context item derived from the text included in orassociated with the database item; associating a context item withfilter data when at least one image associated with that context item isassociated with at least one other context item; providing the searchresults to the user's computer such that each context item is associatedwith any corresponding filter data; causing the display to display thesearch results to the user so that each context item and the searchitems associated with that context item can be displayed in associationwith one another; determining the filter data associated with a contextitem when that context item is selected by a user; causing the searchresults to be filtered in accordance with the determined filter data toproduce modified search results including only those search itemsassociated with the selected context item; and providing a signal forcausing the modified search results to be displayed on the display suchthat each search item in the modified search data is associated with anycorresponding context item or items.
 51. A method according to claim 50,which comprises causing the display to display a search input searchscreen to enable a user to select whether the search results are to bedisplayed in a context mode or a search results mode and, when thesearch results mode is selected, causing the display to display thesearch results without the context items.
 52. A method according toclaim 50, which comprises communicating with the user's computer over anetwork and providing the filter data in network address data.
 53. Amethod according to claim 50, which comprises communicating with theuser's computer over a network and providing the filter data ashyperlink data.
 54. A method according to claim 50, which comprisescommunicating with the user's computer over the Internet and causing theuser's computer to incorporate the search word or words and any filterdata in a URL defining the Internet address of the computer processingapparatus.
 55. A method according to claim 52, which comprisescommunicating with the user's computer using HTML and instructing thesearch engine by generating an XML document incorporating the searchword or words provided by the user.
 56. A method according to claims 50,which comprises, in response to a search request comprising a searchword or words input by a user, instructing the search engine to conducta search through a database of images each associated with a captionproviding the data for the corresponding context item or items andcausing the search results to be presented to the user as thumbnailrepresentations of the corresponding images.
 57. A signal comprisingprocessor instructions for causing a processor to carry out a method inaccordance with claim
 30. 58. A storage medium carrying processorinstructions for causing a processor to carry out a method in accordancewith claim
 30. 59. A storage medium carrying processor instructions forcausing a processor to carry out a method in accordance with claim 42.60. A storage medium carrying processor instructions for causing aprocessor to carry out a method in accordance with claim
 48. 61. Astorage medium carrying processor instructions for causing a processorto carry out a method in accordance with claim
 50. 62. Apparatus forpresenting search results to a user to facilitate refinement of thesearch, the apparatus comprising: receiving means for receiving from asearch engine search results consisting of at least one search itemassociated with at least one context item relating to the search item;modifying means for modifying the search results by associating at leastone context item with data for enabling the user to cause the searchresults to be filtered in accordance with that context item by selectingthat context item; and supplying means for supplying the modified searchresults to the user.
 63. Search interface apparatus for providing aninterface between a user and a search engine, which apparatus comprises:search screen supply means for causing a display to display to a user ascreen requesting input of a search word or words; search instructingmeans for causing the search engine to carry out a search through atleast one database to locate database items stored in the databaseincluding or associated with text corresponding to the search word orwords; search receiving means for receiving from the search enginesearch results consisting of search items each comprising or related toa database item and each associated with at least one context itemderived from the text included in or associated with the database item;associating means for associating context items with filterinstructions; search results supply means for causing the display todisplay the search results to the user such that each context item isassociated with the search items including or associated with thatcontext data; filter instruction determining means for determiningfilter instructions associated with a context item when that contextitem is selected by a user; search filtering means for causing thesearch results to be filtered in accordance with the filter instructionsdetermined by the filter instruction determining means to producemodified search results; and modified search results supplying means forcausing the modified search results to be displayed on the display suchthat each search item in the modified search results is associated withany corresponding context item or items.